In computer graphics, a quad may be used to render a two dimensional sprite (e.g., a two dimensional image or animation) onto a background. The quad is typically defined such that it includes all of the pixels of the sprite. Such quads, however, can include a large number of pixels that are rendered transparently onto the background and thus do not add any further defining characteristics to the sprite, such as color. Rendering these transparent pixels typically will not affect the displayed image, the rendering hardware is generally required to nonetheless processes these pixels, consuming resources that could otherwise be available for rendering other pixels. For example, rendering these transparent pixels may waste a portion of the finite fill rate typically available in rendering hardware. In instances where the image has an alpha channel the effect of the rendering of these transparent pixels is further exacerbated because read-modify-write logic may be required for every pixel within the quad.
To reduce the number of pixels that do not need to be rendered, and to thereby free up a portion of the finite fill rate, a convex hull may be created that convexly encapsulates the pixels of the sprite. For example, the contours of the convex hull may be used to define the boundaries of pixels to be rendered, which may encompass fewer transparent pixels than a simple quad. However, even using this type of technique, transparent pixels may be unnecessarily rendered, such as transparent pixels encompassed within the hull, such as holes, openings, and/or other non-colored portions of the image.